package com.ruoyi.customerService.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * task对象 cs_collaborative_task
 *
 * @author pyx
 * @date 2024-01-29
 */
@Data
public class CsCollaborativeTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 运单号 */
    @Excel(name = "运单号")
    private String transportCode;

    /** 任务状态 */
    @Excel(name = "任务状态")
    private String TaskStatus;

    /** 任务类型 */
    @Excel(name = "任务类型")
    private String taskType;

    /** 任务描述 */
    @Excel(name = "任务描述")
    private String taskDescribe;

    /** 总部介入原因 */
    @Excel(name = "总部介入原因")
    private String hqInterveneReason;

    /** 介入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "介入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date interveneTime;

    /** 处理结果 */
    @Excel(name = "处理结果")
    private String processResult;

    /** 是否有效处理 */
    @Excel(name = "是否有效处理")
    private String isEffectiveProcess;

    /** 物流轨迹 */
    @Excel(name = "物流轨迹")
    private String logisticsTrack;

    /** 三段码 */
    @Excel(name = "三段码")
    private String threeCode;

    /** 任务单号 */
    @Excel(name = "任务单号")
    private String taskCode;

    /** 预计完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date preCompletionTime;

    /** 处理网点id */
    @Excel(name = "处理网点id")
    private Long processNetworkNameId;

    /** 处理人 */
    @Excel(name = "处理人")
    private String processer;

    /** 完结时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完结时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 目的网点id */
    @Excel(name = "目的网点id")
    private Long aimNetworkNameId;

    /** 发起网点id */
    @Excel(name = "发起网点id")
    private Long startNetworkNameId;

    /** 订单网点id */
    @Excel(name = "订单网点id")
    private Long orderNetworkNameId;

    //    是否已回复
    private String isReturn;
    //    进出港
    private String enterLeavingPort;
    //是否收藏
    private String isCollect;

    //是否收藏
    private String dealStatus;

    private String returnContent;

    private Integer retentionDays;

    private String createBy;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("transportCode", getTransportCode())
            .append("TaskStatus", getTaskStatus())
            .append("taskType", getTaskType())
            .append("taskDescribe", getTaskDescribe())
            .append("hqInterveneReason", getHqInterveneReason())
            .append("interveneTime", getInterveneTime())
            .append("processResult", getProcessResult())
            .append("isEffectiveProcess", getIsEffectiveProcess())
            .append("logisticsTrack", getLogisticsTrack())
            .append("threeCode", getThreeCode())
            .append("taskCode", getTaskCode())
            .append("preCompletionTime", getPreCompletionTime())
            .append("processNetworkNameId", getProcessNetworkNameId())
            .append("processer", getProcesser())
            .append("endTime", getEndTime())
            .append("aimNetworkNameId", getAimNetworkNameId())
            .append("startNetworkNameId", getStartNetworkNameId())
            .append("orderNetworkNameId", getOrderNetworkNameId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
